package com.company;

import java.util.ArrayList;
import java.util.Comparator;

/*
* ArrayList 类是一个可以动态修改的数组，与普通数组的区别就是它是没有固定大小的限制，我们可以添加或删除元素。

ArrayList 继承了 AbstractList ，并实现了 List 接口。
* */
public class C01ArrayList {
    public static void main(String[] args) {
//        添加元素
        ArrayList<String> sites = new ArrayList<String>();
        sites.add("aGoogle");
        sites.add("dRunoob");
        sites.add("bTaobao");
        sites.add("cWeibo");
        System.out.println(sites);
//        访问元素
        System.out.println(sites.get(0));
//        修改元素
        sites.set(0,"qianagge");
        System.out.println(sites);
//        删除元素
        sites.remove(0);
//        计算大小
        System.out.println(sites.size());
////        迭代数组列表
//        for (int i = 0; i < sites.size(); i++) {
//            System.out.println(sites.get(i));
//        }
//        for(String i:sites){
//            System.out.println(i);
//        }
////        ArrayList 排序
//        sites.add("Taobao");
//        sites.add("Wiki");
//        sites.add("Runoob");
//        sites.add("Weibo");
//        sites.add("Google");
//        Collections.sort(sites);  // 字母排序
//        for (String i : sites) {
//            System.out.println(i);
//        }

        System.out.println("不排序: " + sites);

        // 元素进行升序排列
        sites.sort(Comparator.naturalOrder());
        System.out.println("排序后: " + sites);

    }
}
